草庐IT

Java \'Prototype\' 模式 - new vs clone vs class.newInstance

全部标签

带有连接的 Node.js 中基于 JavaScript 的 JSON 验证器(不是模式,JSON 语法)

我一直在在线使用JSONLint,这真的很有帮助。不过,我需要将其纳入Node.js。我们的QA,甚至我都输入了这么多无效的JSON,这一点都不好笑。服务器正在使用来自connect的connectbodyDecoder,它当前在无效输入时barfs(不知道为什么stockbodyDecoder甚至没有捕获到错误,但是哦,好吧)。我可能想制作自己的bodyDecoder,但我只能找到基于C的JSONLinter。我可以在Node.js中使用任何库来抛出有用的错误(例如http://www.jsonlint.com/)而不是疯狂的“字符串不是预期的”模糊错误吗?

javascript - 用于匹配模式中前一组的正则表达式?

我似乎永远找不到关于将捕获组匹配为模式一部分的正则表达式的任何文档。例如:(\w\d\w):$1..应该匹配a4b:a4b$1不起作用,但我知道它是类似的东西。有人知道吗? 最佳答案 在正则表达式模式中,对第一个捕获组的反向引用始终是\1,而不是$1。原因:$在正则表达式中表示“字符串结尾”(或行结尾,取决于上下文)。在替换模式(不是正则表达式)中,一些方言允许$1(例如.NET、Java、Perl和JavaScript),一些允许\1(Python和Ruby),有些同时允许(PHP和JGSoft)。编辑:因为你写道你找不到任何关于

设置原型(prototype)时Javascript继承: calling Object.创建

我正在学习面向对象的Javascript的某些方面。我遇到了这个片段varPerson=function(firstName,lastName){this.lastName=lastName;this.firstName=firstName;};Object.defineProperties(Person.prototype,{sayHi:{value:function(){return"Himynameis"+this.firstName;}},fullName:{get:function(){returnthis.firstName+""+this.lastName;}}});va

javascript - jQuery 原型(prototype)和构造函数链接

jQuery如何允许其构造函数充当接受参数的函数,同时其构造函数还充当接受参数的函数?我对JavaScript有点陌生,如果这是一个新手问题,请原谅(我已经查看了源代码,但很难尝试剖析)。无论如何,举个例子$(document).ready();两者都是构造函数$()和原型(prototype)ready()充当功能。如何?因为如果我尝试这样做:var$=function(selector){if(selector==document){returndocument;}};$.prototype={constructor:$,ready:function(args){if(isDomR

javascript - Grunt Globbing 模式

实现以下目标需要什么模式。匹配.tmp目录下的所有html文件>匹配.tmp/views中的所有html文件及其所有子目录(递归到任意深度)这是在Grunt文件中注册livereload任务。我尝试了以下几种配置。它匹配.tmp中的所有文件,但不匹配.tmp/views中的所有文件也试过了,'.tmp/{,views/**/}*.html'但结果相同。livereload:{options:{livereload:LIVERELOAD_PORT},files:['.tmp/{,views/**}*.html']} 最佳答案 你应该能

需要 JavaScript 设计模式帮助 : Loose Augmentation of Modules

为清晰起见进行编辑-@Qantas94Heavy-我明白它在“说”什么或应该做什么,但我不明白的是为什么,更重要的是如何工作:我正在阅读有关JS模块模式的高级教程,它给出了这个示例:varMODULE=(function(my){//addcapabilities...returnmy;}(MODULE||{}));困扰我(我需要你的帮助)的是最后一句话:(MODULE||{}));我无法理解使之成为可能的语法规则。在搜索了关键字“JavaScript模块语法”和“模块模式速记”之后,我发现我仍然不太了解这背后的基础。有人可以解释一下或为我指明正确的方向来理解这个/获得更深入的理解吗?

javascript - 如何知道模式框(警告、提示、确认...)是否已在 javascript 中被禁用?

我有一个基于网络的私有(private)应用程序,有时我会真诚地询问用户在特定情况下他们想做什么。为此,我使用了javascript的confirm函数。与任何其他模态框一样,在弹出几次后,用户可以选择通过单击小框来禁用它们,如下所示:问题是,如果他们点击一次,他们将永远不会看到其他消息,并且对confirm的响应被假定为0,这很令人困惑,因为基本上这意味着所有需要他们确认的操作会在没有警告的情况下被取消!刷新页面没有帮助,他们必须关闭它并重新打开它才能再次工作。我可以检测到他们何时选中了那个小方框吗? 最佳答案 选中该框后,对话框

javascript - 你会如何将网站从 Prototype 切换到 jQuery

我已经用Prototype编写了一个站点,但想切换到jQuery。关于如何最好地进行转换有什么想法吗? 最佳答案 就个人而言,我喜欢循序渐进,所以我会先使用两者,如下所示:jQuery.noConflict();//PutallyourcodeinyourdocumentreadyareajQuery(document).ready(function($){//DojQuerystuffusing$$("div").hide();});//UsePrototypewith$(...),etc.$('someid').hide();这

javascript - JavaScript 中的原型(prototype)链

我正在阅读一本名为JavaScript模式的书,但我认为其中有一部分让人感到困惑。这家伙实际上在书中引导了类设计模式,他在其中逐个开发它。他首先提出问题:functioninherit(C,P){C.prototype=P.prototype;}他说:“这为您提供了简短而快速的原型(prototype)链查找,因为所有对象实际上共享相同的原型(prototype)。但这也是一个缺点,因为如果一个child或孙子继承链下游的某个地方修改了原型(prototype),它影响了所有的parent和祖parent。"但是,我实际上尝试修改Child中的原型(prototype)say()并且它

Javascript 模块模式和 new 关键字

我了解了模块模式的基础知识以及它使用闭包来允许私有(private)成员,但我无法完全理解为什么下面的代码会执行它的操作:varCalculator=function(){varpriv=0;return{changePriv:function(){priv++;},printPriv:function(){console.log(priv);}}}varmyCalc=Calculator();myCalc.printPriv();myCalc.changePriv();myCalc.printPriv();varmyOtherCalc=Calculator();myCalc.prin